package com.matt.service;

import com.matt.domain.Classes;
import com.matt.domain.TargetObject;
import com.matt.domain.course.CoursePlanTopic;
import com.matt.domain.course.CourseTopic;
import com.matt.foundation.query.CourseTopicQuery;
import com.matt.foundation.vo.course.CourseTopicPageVo;
import com.matt.foundation.vo.course.WebCourseTopicClassesVo;
import org.springframework.data.domain.Page;

import java.util.Date;
import java.util.List;

/**
 * *******************************
 * Created by Ron.
 * form com.matt
 * on 2018/3/8
 * *******************************
 */
public interface CourseTopicService {
    CourseTopic create(CourseTopic courseTopic, String month, String begin, String end, String staffId);

    CourseTopic modify(CourseTopic courseTopic, String month, String begin, String end);

    Page<CourseTopicPageVo> page(CourseTopicQuery query);

    CourseTopic detail(String topicId);

    List<CoursePlanTopic> getCoursePlanList(String topicId);

    List<TargetObject> getTargetObject();

    TargetObject getTargetObjectOfAll();

    List<WebCourseTopicClassesVo> topicByMonth(String areaId);

    Boolean cleanClassesTopicCourse(Classes classes, String oldTargetObjectId, String targetObjectId);

    List<CourseTopic> getAfterTopicList(String allTargetObjectId, String targetObjectId, Date today);


}
